373 research outputs found

    Research Software Science: Expanding the Impact of Research Software Engineering

    Get PDF
    Software plays a central role in scientific discovery. Improving how we develop and use software for research can have both broad and deep impacts on a spectrum of challenges and opportunities society faces today. The emergence of the research software engineer (RSE) role correlates with the growing complexity of scientific challenges and the diversity of software team skills. In this article, research software science (RSS), an idea related to RSE and particularly suited to research software teams, is described. RSS promotes the use of scientific methodologies to explore and establish broadly applicable knowledge. Using RSS, we can pursue sustainable, repeatable, and reproducible software improvements that positively impact research software toward improved scientific discovery

    Structure Analysis of Soft Energy Materials using Neutron Scattering

    Get PDF
    The structure of several materials important in the development of sustainable energy have been determined using multiple neutron scattering methods. Elucidating the structure-property relationships of these conductive polymer blends, microemulsions, and deep eutectic solvents (DES) provides correlation of material assembly to electro-chemical performance. Conductive films of poly(3,4‑ethylenedioxythiophene):poly(styrene sulfonate) (PEDOT:PSS) are found to organize into smaller domains with the addition of dimethyl sulfoxide(DMSO) to a pre-deposition solution. Addition of DMSO disrupts the aggregates and large domains within PEDOT:PSS, enabling alignment of the PEDOT fibrils within the PSS domains, and occurs in both spin-coated and spray-coated depositions. The spin-coated films have consistently smaller domain sizes, indicating the disruption of aggregates occurs when DMSO is added and the smaller domains in spin-coated films are due to faster evaporation rates of the deposited solution. Microemulsions formed by mixing water, toluene, and an emulsifier of Tween-20® and 1-butonal create lamellar-like layers at surfaces potentially impacting charge transfer to electrodes. Layered structures are monitored for increased surface amphiphilicity and decreased water content in the emulsion. Decreased water in the emulsion results in decreased layer thickness, while increased amphiphilicity creates lamellae-like layers of nearly pure water and oil/emulsifier. The formation of these lamellae increase the surface area of the boundary between the water and the oil, creating a potential to increase charge transfer pathways. Addition of a hydrogen bond acceptor, choline chloride(ChCl), to a hydrogen bond donor, glycerol, develops interactions between the molecules, forming a DES at 33% ChCl. With increased ChCl to the mixture, the glycerol interacts primarily with the chloride anion while the choline primarily interacts with other choline molecules. This assembly of potential hydrogen bond networks is crucial to the formation of the DES glyceline, where the dominant choline-choline interactions free the chloride ion to interact with the glycerol molecules. Additionally, monitoring and controlling atomic vibrations in crystals integral to the execution of ultra-small-angle neutron scattering experiments offers insight to increase the signal-to-noise in USANS instruments. The combination of these investigations demonstrate the utility and promise of multiple neutron scattering techniques to advance several important classes of materials in soft matter energy research

    Scalable Delivery of Scalable Libraries and Tools: How ECP Delivered a Software Ecosystem for Exascale and Beyond

    Full text link
    The Exascale Computing Project (ECP) was one of the largest open-source scientific software development projects ever. It supported approximately 1,000 staff from US Department of Energy laboratories, and university and industry partners. About 250 staff contributed to 70 scientific libraries and tools to support applications on multiple exascale computing systems that were also under development. Funded as a construction project, ECP adopted an earned-value management system, based on milestones. and a key performance parameter system based, in part, on integrations. With accelerated delivery schedules and significant project risk, we also emphasized software quality using community policies, automated testing, and continuous integration. Software Development Kit teams provided cross-team collaboration. Products were delivered via E4S, a curated portfolio of libraries and tools. In this paper, we discuss the organizational and management elements that enabled the efficient and effective delivery of ECP libraries and tools, lessons learned and next steps.Comment: 9 pages, 5 figures, submitted to IEEE Computing in Science and Engineerin

    Supporting 64-bit global indices in Epetra and other Trilinos packages -- Techniques used and lessons learned

    Full text link
    The Trilinos Project is an effort to facilitate the design, development, integration and ongoing support of mathematical software libraries within an object-oriented framework. It is intended for large-scale, complex multiphysics engineering and scientific applications. Epetra is one of its basic packages. It provides serial and parallel linear algebra capabilities. Before Trilinos version 11.0, released in 2012, Epetra used the C++ int data-type for storing global and local indices for degrees of freedom (DOFs). Since int is typically 32-bit, this limited the largest problem size to be smaller than approximately two billion DOFs. This was true even if a distributed memory machine could handle larger problems. We have added optional support for C++ long long data-type, which is at least 64-bit wide, for global indices. To save memory, maintain the speed of memory-bound operations, and reduce further changes to the code, the local indices are still 32-bit. We document the changes required to achieve this feature and how the new functionality can be used. We also report on the lessons learned in modifying a mature and popular package from various perspectives -- design goals, backward compatibility, engineering decisions, C++ language features, effects on existing users and other packages, and build integration

    Non-parabolicity of the conduction band of wurtzite GaN

    Full text link
    Using cyclotron resonance, we measure the effective mass, mm*, of electrons in AlGaN/GaN heterostructures with densities, n2D∼1−6×1012n_{2D}\sim 1-6\times10^{12}cm−2^{-2}. From our extensive data, we extrapolate a band edge mass of (0.208±0.002)me(0.208\pm0.002) m_e. By comparing our mm* data with the results of a multi-band \textbf{k.p} calculation we infer that the effect of remote bands is essential in explaining the observed conduction band non-parabolicity (NP). Our calculation of polaron mass corrections -- including finite width and screening - suggests those to be negligible. It implies that the behavior of m∗(n2D)m*(n_{2D}) can be understood solely in terms of NP. Finally, using our NP and polaron corrections, we are able to reduce the large scatter in the published band edge mass values
    • …
    corecore